import cv2
import matplotlib.pyplot as plt

gray = cv2.imread("./text1.png")
# 运算的原理，用3*3的像素点进行膨胀、腐蚀操作
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(3,3))

# erode_img = cv2.erode(gray,kernel)
# 除了上述方法调用外，还有以下方法

# 腐蚀操作
erode_img = cv2.morphologyEx(gray,cv2.MORPH_ERODE,kernel)

# 膨胀操作
dilate_img = cv2.morphologyEx(gray,cv2.MORPH_DILATE,kernel)

# 开运算
open_img = cv2.morphologyEx(gray,cv2.MORPH_OPEN,kernel)

# 闭运算
close_img = cv2.morphologyEx(gray,cv2.MORPH_CLOSE,kernel)

plt.subplot(231)
plt.title('img')
plt.imshow(gray,cmap="gray")
plt.subplot(232)
plt.title('erode_img')
plt.imshow(erode_img,cmap="gray")
plt.subplot(233)
plt.title('dilate_img')
plt.imshow(dilate_img,cmap="gray")
plt.subplot(234)
plt.title('open_img')
plt.imshow(open_img,cmap="gray")
plt.subplot(235)
plt.title('close_img')
plt.imshow(close_img,cmap="gray")

plt.show()